Pro le-Guided Automatic Inline Expansion for C Programs
نویسندگان
چکیده
This paper describes critical implementation issues that must be addressed to develop a fully automatic inliner. These issues are: integration into a compiler, program representation, hazard prevention, expansion sequence control, and program modi cation. An automatic interle inliner that uses pro le information has been implemented and integrated into an optimizing C compiler. The experimental results show that this inliner achieves signi cant speedups for production C programs.
منابع مشابه
Profile-guided Automatic Inline Expansion for C Programs
This paper describes critical implementation issues that must be addressed to develop a fully automatic inliner. These issues are: integration into a compiler, program representation, hazard prevention, expansion sequence control, and program modification. An automatic inter-file inliner that uses profile information has been implemented and integrated into an optimizing C compiler. The experim...
متن کاملA Study and Analysis of Function Inlining
Function inlining is a widely known technique which has been used to improve program performance. Inlining replaces a function call by the body of the function. In this report, we study the eeects of inline function expansion by observing the empirical behavior of a set of C and C++ programs. Our results indicate that for the average C program improvements in timings due to inlining are not muc...
متن کاملInline Expansion: When and How?
Inline function expansion is an optimization that may improve program performance by removing calling sequences and enlarging the scope of other optimizations. Unfortunately it also has the drawback of enlarging programs. This might impair executable programs performance. In order to get rid of this annoying eeect, we present, an easy to implement, inlining optimization that minimizes code size...
متن کاملAutomatic Parallelization of Object Oriented Models Executed with Inline Solvers
In this work we report preliminary results of automatically generating parallel code from equation-based models together at two levels: Performing inline expansion of a Runge-Kutta solver combined with finegrained automatic parallelization of the resulting RHS opens up new possibilities for generating high performance code, which is becoming increasingly relevant when multi-core computers are b...
متن کاملPartial Inlining
Technical Summary 1 Motivation Subprogram inlining is an optimization that has been studied extensively in the By replacing a procedure call with a copy of the body of the called procedure, it ooers a number of beneets: the overhead associated with the procedure call is eliminated; the inlined code can be optimized for the particular call site that was expanded; and the caller's code can potent...
متن کامل